HTML Form থেকে ডেটা গ্রহণ করা

Servlet এর মধ্যে Form Data প্রসেসিং - সার্ভলেটস (Servlets) - Java Technologies

324

Servlet এর মাধ্যমে HTML Form-এর ডেটা গ্রহণ এবং প্রোসেস করা খুবই সহজ। HTML ফর্ম ব্যবহার করে ক্লায়েন্ট থেকে ইনপুট ডেটা সংগ্রহ করা যায় এবং সেই ডেটা Servlet এর মাধ্যমে প্রোসেস করা হয়। Servlet ডেটা প্রোসেস করে প্রয়োজন অনুযায়ী রেসপন্স পাঠায়।


HTML Form থেকে Servlet-এ ডেটা পাঠানোর ধাপ

  1. HTML Form তৈরি করা:
    একটি HTML ফর্মের মাধ্যমে ডেটা ক্লায়েন্ট থেকে সার্ভারে পাঠানো হয়।
  2. Servlet-এ রিকোয়েস্ট গ্রহণ করা:
    Servlet HttpServletRequest অবজেক্টের মাধ্যমে ফর্মের ডেটা গ্রহণ করে।
  3. ডেটা প্রোসেস করা:
    প্রাপ্ত ডেটা প্রয়োজন অনুযায়ী প্রোসেস করে।
  4. রেসপন্স পাঠানো:
    ডেটা প্রোসেস করার পরে ক্লায়েন্টকে একটি রেসপন্স পাঠানো হয়।

উদাহরণ: HTML Form এবং Servlet

HTML Form তৈরি

<!DOCTYPE html>
<html>
<head>
    <title>HTML Form Example</title>
</head>
<body>
    <h1>Enter Your Details</h1>
    <form action="submitForm" method="POST">
        <label for="name">Name:</label>
        <input type="text" id="name" name="name"><br><br>
        <label for="email">Email:</label>
        <input type="email" id="email" name="email"><br><br>
        <button type="submit">Submit</button>
    </form>
</body>
</html>

Servlet ক্লাস তৈরি

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class FormServlet extends HttpServlet {

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // ফর্ম ডেটা গ্রহণ করা
        String name = request.getParameter("name");
        String email = request.getParameter("email");

        // রেসপন্স সেটআপ
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

        out.println("<html><body>");
        out.println("<h1>Form Data Received</h1>");
        out.println("<p>Name: " + name + "</p>");
        out.println("<p>Email: " + email + "</p>");
        out.println("</body></html>");
    }
}

Servlet কনফিগারেশন

web.xml ফাইল:

<web-app>
    <servlet>
        <servlet-name>FormServlet</servlet-name>
        <servlet-class>FormServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>FormServlet</servlet-name>
        <url-pattern>/submitForm</url-pattern>
    </servlet-mapping>
</web-app>

ডেটা গ্রহণ করার জন্য প্রধান মেথডসমূহ

Servlet ডেটা গ্রহণ করার জন্য HttpServletRequest ইন্টারফেসের নিম্নলিখিত মেথড ব্যবহার করা হয়:

  1. getParameter(String name)
    • নির্দিষ্ট ইনপুট ফিল্ডের ডেটা গ্রহণ করে।
    • উদাহরণ:

      String name = request.getParameter("name");
      
  2. getParameterValues(String name)
    • একটি ফিল্ড থেকে একাধিক মান (যেমন চেকবক্স) গ্রহণ করে।
    • উদাহরণ:

      String[] hobbies = request.getParameterValues("hobbies");
      
  3. getParameterNames()
    • ফর্মের সমস্ত ইনপুট ফিল্ডের নামগুলোর Enumeration প্রদান করে।
    • উদাহরণ:

      Enumeration<String> parameterNames = request.getParameterNames();
      

GET এবং POST রিকোয়েস্টের পার্থক্য

GETPOST
ডেটা URL-এর মধ্যে যোগ করা হয়।ডেটা HTTP বডিতে প্রেরণ করা হয়।
নিরাপত্তা তুলনামূলক কম।নিরাপত্তা বেশি।
সাধারণত ছোট ডেটার জন্য ব্যবহৃত হয়।বড় ডেটার জন্য উপযুক্ত।
doGet() মেথড ব্যবহার করা হয়।doPost() মেথড ব্যবহার করা হয়।

চেকবক্স বা একাধিক ইনপুট গ্রহণের উদাহরণ

HTML Form:

<form action="submitForm" method="POST">
    <label>Select your hobbies:</label><br>
    <input type="checkbox" name="hobbies" value="Reading"> Reading<br>
    <input type="checkbox" name="hobbies" value="Traveling"> Traveling<br>
    <input type="checkbox" name="hobbies" value="Gaming"> Gaming<br>
    <button type="submit">Submit</button>
</form>

Servlet:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String[] hobbies = request.getParameterValues("hobbies");

    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("<h1>Your Hobbies</h1>");
    for (String hobby : hobbies) {
        out.println("<p>" + hobby + "</p>");
    }
}

Servlet এর মাধ্যমে HTML Form ডেটা গ্রহণের সুবিধা

  1. ক্লায়েন্ট থেকে ডেটা সহজে সংগ্রহ:
    Servlet ব্যবহার করে ইনপুট ফর্মের ডেটা গ্রহণ এবং প্রোসেস করা সহজ।
  2. ডেটা প্রোসেসিং:
    ডেটা যাচাই, ডাটাবেস সংযোগ, এবং ব্যবসায়িক লজিক প্রয়োগ করা সহজ।
  3. ডাইনামিক রেসপন্স তৈরি:
    ক্লায়েন্টের ইনপুট অনুযায়ী ডাইনামিক HTML বা JSON রেসপন্স তৈরি করা যায়।

Servlet ব্যবহার করে HTML Form থেকে ডেটা গ্রহণ করার প্রক্রিয়া খুবই কার্যকর এবং সহজ। এটি ডাইনামিক ওয়েব অ্যাপ্লিকেশন তৈরি করার জন্য একটি গুরুত্বপূর্ণ টুল।

Content added By
Promotion

Are you sure to start over?

Loading...